列出一些 PWA 網站的 manifest.json 檔案給大家參考。
下方為 Chrome Dev Summit 2016 的 manifest.json
內容
{
"name": "Chrome Dev Summit 2016",
"short_name": "CDS 2016",
"icons": [{
"src": "/devsummit/static/images/icons/cds-icon@192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/devsummit/static/images/icons/cds-icon@512.png",
"sizes": "512x512",
"type": "image/png"
}],
"start_url": "/devsummit/",
"display": "standalone",
"orientation": "portrait",
"background_color": "#FAFAFA",
"theme_color": "#6387F5"
}
Manifest File 是一個 json 檔案,列舉可以實現的功能如下:
詳細介紹如下:
{
"name": "Chrome Dev Summit 2016",
"short_name": "CDS 2016",
"icons": [{
"src": "/devsummit/static/images/icons/cds-icon@192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/devsummit/static/images/icons/cds-icon@512.png",
"sizes": "512x512",
"type": "image/png"
}]
}
操作流程類似下方動畫這樣,成功將網站加入 Home Screen 後,就會像 APP 一樣,將看到手機桌面上有一個 icon,能讓使用者快速啟動網站。
延伸閱讀:
例如下方為 flipkart 的 Splash Screen
圖片來源:flipkart blog
{
"name": "Flipkart Lite",
"short_name": "Flipkart Lite"
"icons": [{
"src": "https://img1a.flixcart.com/www/linchpin/batman-returns/logo_lite-cbb3574d.png",
"sizes": "192x192",
"type": "image/png"
}],
"background_color": "#2874f0"
}
name/short_name
,這邊是指定 Splash Screen 的文字icons
,這邊是指定 Splash Screen 的圖示延伸閱讀:Web App Manifest - background_color
"display": "standalone"
延伸閱讀:Web App Manifest - display
"orientation": "portrait"
延伸閱讀:Web App Manifest - orientation
"theme_color": "#2196F3"
延伸閱讀:Web App Manifest - theme_color
"start_url": "/"
或 "start_url": "."
?utm_source=homescreen
"start_url": "/?utm_source=homescreen"
延伸閱讀:Web App Manifest - start_url
接著新增 To-Do List 的 Web App Manifest File,實作主要執行 3 個步驟如下:
1.新增 manifest 檔案(一個簡單的 json 檔案)
{
"name": "PWA To-Do List with Vanilla JS",
"short_name": "To-Do List",
"start_url": "/",
"icons": [{
"src": "/assets/images/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
}, {
"src": "/assets/images/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
}, {
"src": "/assets/images/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
}, {
"src": "/assets/images/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}],
"background_color": "#707477",
"theme_color": "#f2f2f2",
"display": "standalone",
"orientation": "portrait"
}
2.新增 icons 的圖檔
例如: /assets/images/icon-256x256.png
3.載入 manifest 檔案
在 `index.html` 的 `<head>` 加上 `manifest.json` 檔案
```
<link rel="manifest" href="/manifest.json">
```
因為 manifest 的檔案其實蠻簡單的,也可以透過線上的工具自動產生,像是在 Web App Manifest Generator 的網站裡,輸入網站資訊,接著上傳圖檔,按一個按鈕就可以自動生成 manifest.json
最後,你可以直接在本機透過 Application panel of Chrome DevTools,去驗證你的 web app manifest 是否設定正確。
或者 deploy 網站之後,拿起 Android 手機,進行實測如下
todolist-pwa-demo deploy 後,檢視 Chrome DevTools:
本篇文章介紹 Manifest File 是一個單純的 json 檔案,透過 Manifest File 的設定,讓使用者瀏覽變得更像 APP 體驗,包括 Add to Home Screen、顯示 Splash Screen 等效果,也實作 To-Do List 的 manifest,瞭解如何自動生成 manifest 檔案,最後說明可以透過 Chrome DevTools 快速檢查 manifest 檔案是否正確。
本人小小筆記,如有錯誤或需要改進的部分,歡迎給予回饋。
我將會用最快的速度修正,m(_ _)m。謝謝